1. Technical Field
The present invention is directed to an improved data processing system. More specifically, the present invention is directed to an apparatus and method for converting an instruction and data trace to an executable program.
2. Description of Related Art
Trace driven simulation is a well accepted practice to analyze processor and computer system performance during design. The instruction and data trace is generally created by recording the execution of a program on an existing computer system that is configured with the required devices, operating system, the various software middleware, and the data set. For extensive benchmark applications, such as large databases, it takes an extensive effort to do the system configuration and setup the data sets for collection of the traces.
However, once the traces are used in the simulation, no more use of these traces is made in analyzing the final product because the traces are only a sequential trace of the instructions while the finished computer system requires a computer program to be run over it's operating system. This results in a long delay to setup the system to rerun the initial benchmark in totality. In the related art, it takes an extensive time and effort to set up the system configuration and collect the traces. The work effort is repeated once the systems configuration is changed. In other words, the collected traces are not re-usable.
Take the example of rerunning a database benchmark. This involves, setting up various disk drive partitions, loading the database tables, etc., which all may take up at least a week of effort before the benchmarks can be run. It would be beneficial to get an immediate first cut analysis of new hardware in terms of benchmarks as soon as the operating system is booted. However, at this early a stage in development, it's also likely that all the drivers are not even functional and even the database application may also not be runnable due to the beta level of the operating system.
Furthermore, rerunning the initial benchmark the second time around may not result in similar execution sequence due to the system load variations, etc. that will not yield an accurate comparison. Thus, it would be beneficial to have an apparatus and method for converting an instruction and data trace to an executable binary program that may be used to recreate and rerun a trace of a computer program.